<?php
/*
 * Page Editar Enfermedad (Enfermedades que se registran a pacientes).
 * @Autor: Andrés Ubilla.
 */
class Editar extends TPage{
    public function onLoad($param){
        parent::onLoad($param);
        if(!$this->IsPostBack){
            $this->validarSession();
            $this->cargarInterfaz();
        }
    }        
    
    private function validarSession(){
        $oUsuario = Util::getSession("Usuario");
        if(Util::isNullOrEmpty($oUsuario)){
            $this->Response->redirect($this->Service->constructUrl("Home"));
        }
    }
    
    private function cargarInterfaz(){
        $oEnfermedad = $this->obtenerEnfermedad();
        $this->iniciarControles($oEnfermedad);
    }
    
    private function obtenerEnfermedad(){
        $idEnfermedad = Util::isNull($this->Request["idEnfermedad"], "-1");
        
        try{
            if($idEnfermedad != "-1"){
                $oEnfermedad = new Enfermedad();
                $oEnfermedadBLL = new EnfermedadBLL();
            
                $oEnfermedad = $oEnfermedadBLL->obtenerPorId($idEnfermedad);
            
                return $oEnfermedad;
            }else{
                $oEnfermedad = null;
                
                return $oEnfermedad;
            }        
            
        } catch (Exception $e){
            throw new Exception($e->getMessage());
        }
    }


    private function iniciarControles($oEnfermedad){        
        $this->txtNombre->Attributes->Add("required","required");
        
        $this->txtNombre->Text = $oEnfermedad->getNombre();
    }
    
    private function limpiarForm(){
        $this->txtNombre->Text = "";
    }
    
    public function btnGuardarEnfermedadOnClick($sender, $param){
        $idEnfermedad = Util::isNull($this->Request["idEnfermedad"], "-1");
        
        if($idEnfermedad != "-1"){
            try{
                $oEnfermedad = new Enfermedad();
                
                $oEnfermedad->setId($idEnfermedad);
                $oEnfermedad->setNombre($this->txtNombre->Text);
                $oEnfermedad->setEstado(1);

                $oEnfermedadBLL = new EnfermedadBLL();
                $oEnfermedadBLL->editar($oEnfermedad);

                Util::setSession("Mensaje", $this->litAlert->Text = Util::setMensajeUsuario("Enfermedad ha sido modificada exitosamente.", Util::MENSAJE_OK));
                $this->Response->redirect($this->Service->constructUrl("Enfermedad.Listar"));                              

            } catch (Exception $e){
                throw new Exception($e->getMessage());
            }
        }
    }
}
?>
